4页:再谈While Loops
作者:Thau!

我们已见到了很多所请求的X`S,现在复习一下:

第一步:请求X`S的数目


var width = prompt("How many x's would you like? (1-10 is good)","5");
下一步,申报一些变量:

var a_line="";

var loop = 0;

现在,关键之处:


while (loop < width)

{

	a_line = a_line + "x";

	loop=loop+1;

}

即说:“当变量循环小于所请求的X`S行宽时,在该行加入另一X然后在循环值上加1。”该循环将继续加一X到该行并在循环值上加1直到循环不在小于请求的行宽。请看下列源码分析:

第一次
  • a_line = "" (because we initialized it to be "")
  • loop=0 (because we initialized it to be 0)
  • width=2 (because that's what the user asked for)
  • 0 is less than 2 so
  • a_line = a_line + "x", so now a_line = "x"
  • loop=loop+1, so now loop = 1
返回循环:第二次
  • loop=1
  • width=2
  • a_line = "x"
  • 1 is less than 2 so
  • a_line = a_line + "x", so now a_line = "xx"
  • loop=loop+1, so now loop = 2
返回循环:第3
  • loop=2
  • width=2
  • a_line = "xx"
  • 2 is NOT less than 2 so
  • fall out of the loop and do what follows

 

随后是:


alert(a_line);

启动一个警告对话框。

这种循环运用的如此普遍以至于程序员们开发了一些简便方式,条件循环可写成这样:


while (loop < width)

{

	a_line += "x";  //this was a_line = a_line + "x";

	loop++;         //this was loop=loop+1;

}

首行,“x”,表示“本身加x”。若已有a_number=5,那么可写成,a_number+=3,即是说:a_number=a_number+3。程序员就是这么偷懒的。

下行,loop++,意味着“自身加1”。于是loop++即为:loop=loop=1。它也可写成loop+=1。这样偷懒行为非常有效。

就象不止一种方式在一个数上加1一样,也有不止一种方法来写一个循环。While循环不是唯一的循环模式,另一流行的循环是forloop

 

1: 第四课介绍
2: 循环介绍
3: 循环的密码
4: 再谈WHILE循环
5: For 循环
6: 嵌套循环
7: 循环练习
8: 数组
9: 数组和循环
10:文件目标模块中的数组
11: 函数
12: 无参数函数
13: 参数及返回值
14: 多于一个参数的函数